// 引入 echarts 核心模块，核心模块提供了 echarts 使用必须要的接口。

// 引入柱状图图表，图表后缀都为 Chart
// import type { MapSeriesOption, ScatterSeriesOption } from 'echarts/charts';
import { BarChart, LineChart, MapChart, PictorialBarChart, PieChart, RadarChart, ScatterChart } from 'echarts/charts';
// import type { GeoComponentOption, TooltipComponentOption } from 'echarts/components';
// 引入提示框，标题，直角坐标系，数据集，内置数据转换器组件，组件后缀都为 Component
import { AriaComponent, CalendarComponent, DataZoomComponent, GeoComponent, GraphicComponent, GridComponent, LegendComponent, ParallelComponent, PolarComponent, RadarComponent, TimelineComponent, TitleComponent, ToolboxComponent, TooltipComponent, VisualMapComponent } from 'echarts/components';
// import type { ComposeOption } from 'echarts/core';
import * as echarts from 'echarts/core';
// 标签自动布局，全局过渡动画等特性
import { LabelLayout, UniversalTransition } from 'echarts/features';
// 引入 Canvas 渲染器，注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
import { CanvasRenderer } from 'echarts/renderers';

// 注册必须的组件
export function loadECharts() {
  echarts.use([LegendComponent, TitleComponent, TooltipComponent, GridComponent, PolarComponent, AriaComponent, ParallelComponent, BarChart, LineChart, PieChart, MapChart, RadarChart, PictorialBarChart, RadarComponent, ToolboxComponent, DataZoomComponent, VisualMapComponent, GeoComponent, TimelineComponent, CalendarComponent, GraphicComponent, ScatterChart, CanvasRenderer, LabelLayout, UniversalTransition]);
  return echarts;
}

// type EChartsOption = ComposeOption<TooltipComponentOption | GeoComponentOption | ScatterSeriesOption | MapSeriesOption>;
